import 'dart:async';

main() {
  // 创建流控制器
  StreamController<int> controller = StreamController<int>();

  // 创建转换器
  final transformer = StreamTransformer<int, String>.fromHandlers(
    handleData: (value, sink) {
      if(value == 100) {
        sink.add("您猜对了!");
      } else {
        sink.addError("还没猜中请继续猜!");
      }
    }
  );

  // 监听
  controller.stream
  .take(2) // 控制最大次数
  .transform(transformer)
  .listen((data)=> print(data), onError: (err) => print(err));
  
  // 添加数据, 添加五次
  controller.sink.add(1);
  controller.sink.add(50);
  controller.sink.add(70);
  controller.sink.add(80);
  controller.sink.add(100);

}